Computer systems having a system management chip, also known as a baseboard management controller (BMC) or remote management controller (RMC), are known particularly from the field of high-performance server computers. In this context, the system management chip is used for different purposes. First, it monitors the correct operation of one or more processors or other components of the computer system to recognize errors that occur and restart the computer system if necessary. Furthermore, the system management chip is also used for remote maintenance of the computer system. For this purpose, such systems are often equipped with a network interface which allows extensive configuration of the computer system by a system administrator using a maintenance computer.
One exemplary maintenance task is the installation of new firmware components for the computer system. Firmware is generally understood to mean such software components as are permanently embedded in appropriate hardware chips and provide component-specific functions.
Usually, system components such as a main board in a computer system, but also components such as the system management chip, have nonvolatile memories for this purpose in the form of flash memories. These memories store hardware-specific program code to actuate the relevant components, the program code being available immediately after the start of the respective component and not first needing to be loaded by an operating system from a further storage medium.
Various methods are known to update such firmware components. By way of example, an operating system in the computer system can be started as usual and then a specific utility program to update one or more firmware components can be started. The data used to update can either be obtained by the utility program itself or are transmitted to the computer system in another way. By way of example, updated firmware data may have been loaded from the Internet beforehand or may have been transferred to the computer system by a data storage medium or data network.
Since updating the firmware represents penetrative intervention in the computer system, it is usually not possible to execute further applications on the computer system during this time. In addition, it is usually necessary to restart the computer system after the firmware has been updated. This requires relatively long down times in which a computer system is not available for applications.
It could therefore be helpful to provide a particularly efficient method for executing utility programs, particularly utility programs for updating firmware components. Furthermore, it could be helpful to provide a computer system and a computer program product suitable for executing the method.